﻿// See https://aka.ms/new-console-template for more information
using System;
Console.WriteLine("Hello, World!");
int n;//n为待分解的数
bool[] a = new bool[10000];//a数组为质数筛的结果,默认都是false（全都是素数），true不是素数

Console.WriteLine("请输入你要分解的数字：");
n = Convert.ToInt32(Console.ReadLine());
if (n < 2)
    Console.WriteLine("您输入的数据没有质数");
for(int i = 2; i < Math.Sqrt(n); i++)
{
    if (!a[i]) { 
    //将所有i的倍数的对应值筛掉
    int k = 2*i;
    while(true)
    {
            a[k] = true;
            k = k + i;
            if (k > n) break;
    }
    };
}

Console.WriteLine("质数为：");
for(int i = 2; i <= n; i++)
{
    if (!a[i])
    {
        Console.Write(i + " ");
    }
}
